<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数的提升</title>
</head>

<body>
    <p>函数提升与变量提升比较类似，是指函数在声明之前即可被调用。</p>
    <p>
        总结：<br>

        1. 函数提升能够使函数的声明调用更灵活 <br>
        2. 函数表达式不存在提升的现象 <br>
        3. 函数提升出现在相同作用域当中

    </p>
    <script>
        //调用函数
        foo()
        function foo() {
            console.log('这种定义函数的方式-在声明之前就被调用了。。。');
        }

        // 不存在提升现象
        bar() // x
        var bar = function () {
            console.log('这种定义函数的方式，函数表达式不存在提升现象');
        }
    </script>
</body>

</html>